iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
自我挑戰組

Powershell 入门系列 第 3

Powershell 入门之管道和文件重定向

  • 分享至 

  • xImage
  •  

今天我们就来一起看看 powershell 中的管道符,使用 “|” 表示.

我们先来看两个命令:
从第二个命令,我们应该就能看出了管道符的作用,就是将第一个命令的输出,作为第二个命令的输入。我们通过 “Get-ChildItem -Path c:\” 获取 C 盘下的子文件及目录,然后将结果传递给 Format-Table 进行格式化输出,我们在后面加了参数 Name,所以只显示了 Name 一列。

PS C:\Users\Administrator> Get-ChildItem -Path c:\


    Directory: C:\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         6/5/2021   9:22 PM                PerfLogs
d-r---        9/13/2021   8:06 PM                Program Files
d-----        9/15/2018   2:08 AM                Program Files (x86)
d-r---        9/10/2021  12:52 AM                Users
d-----        9/13/2021   7:23 PM                Windows


PS C:\Users\Administrator> Get-ChildItem -Path c:\ | Format-Table Name

Name
----
PerfLogs
Program Files
Program Files (x86)
Users
Windows

通过管道符,我们可以将命令的结果,直接输出到文件:

PS C:\Users\Administrator> Get-ChildItem -Path c:\ | Out-File C:\1.csv

打开 C 盘,我们可以看到,有一个 1.csv 文件:
https://ithelp.ithome.com.tw/upload/images/20210916/20099494vzkPS0HtNO.png

使用同样的方法,我们可以丢弃命令的输出:

PS C:\Users\Administrator> Get-ChildItem -Path c:\ | Out-Null

我们还可以通过重定向的方式,将命令的结果输出到文件:

PS C:\Users\Administrator> Get-ChildItem -Path c:\ > c:\2.csv

在 C 盘,你可以看到一个 2.csv 的文件:
https://ithelp.ithome.com.tw/upload/images/20210916/20099494FaW8FJ2SFA.png

当你再次运行命令查看另一个目录,并重定向到文件:

PS C:\Users\Administrator> Get-ChildItem -Path C:\Users\ > c:\2.csv

文件内容被清空,重新写入了:
https://ithelp.ithome.com.tw/upload/images/20210916/20099494URbHAo3AtB.png

如果你想保存文件的原有内容,你需要使用 >> 进行重定向:

PS C:\Users\Administrator> Get-ChildItem -Path c:\ >> c:\2.csv

验证:
https://ithelp.ithome.com.tw/upload/images/20210916/20099494GrussDbqxa.png


上一篇
Powershell 入门之 Alias
下一篇
Powershell 入门之命令的输出
系列文
Powershell 入门21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言